/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.dew.proyecto.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import pe.edu.upc.dew.proyecto.bd.Conexion;
import pe.edu.upc.dew.proyecto.model.Examen;

/**
 *Implementación de la Interfaz ExamenDao
 * Programada bajo aspectos, tiene las deppendencias invertidas
 * @author Fernando
 */
public class ExamenDaoImpl implements ExamenDao{

    /**
     * Consulta a la base de datos por los datos de un examen epecífico con el
     * parámetro del código del examen
     *
     * @param coexamen Codigo del Examen a consultar
     * @return Un objeto Examen
     */

    public Examen getExamenPorCodigo (int coexamen){
        Examen examen = null;
        Connection connection = null;
        Statement st = null;

        ResultSet rsExamen = null;



        try{
            connection= Conexion.obtenerConexion();
            st = connection.createStatement();

            rsExamen = st.executeQuery("select * from Examen where coexamen =" + Integer.toString(coexamen));
            if (rsExamen.next()){
                examen = new Examen();
                examen.setCoExamen(coexamen);
                examen.setTipo(Integer.toString(rsExamen.getInt("tipo")));
                examen.setNombre(rsExamen.getString("nombre"));
                examen.setCosto(rsExamen.getFloat("costo"));
                examen.setPrecio(rsExamen.getFloat("precio"));
            }
        }
        catch(Exception e){
        e.printStackTrace();
        }
        finally {
            Conexion.closeResultSet(rsExamen);
            Conexion.closeStatement(st);
            Conexion.closeConnection(connection);
        }
        return examen;

    }
}
